Partial Redundancy Elimination for Multi-threaded Programs
نویسندگان
چکیده
Multi-threaded programs have many applications which are widely used such as operating systems. Analyzing multi-threaded programs differs from sequential ones; the main feature is that many threads execute at the same time. The effect of all other running threads must be taken in account. Partial redundancy elimination is among the most powerful compiler optimizations: it performs loop-invariant code motion and common subexpression elimination. We present a type system with optimization component which performs partial redundancy elimination for multi-threaded programs.
منابع مشابه
Load Elimination in the Presence of Side Effects, Concurrency and Precise Exceptions
Partial redundancy elimination can reduce the number of loads corresponding to field and array accesses in Java programs. The reuse of values loaded from memory at subsequent occurrences of load expressions must be done with care: Precise exceptions and the potential of side effects through method invocations and concurrent modifications in multi-threaded programs must be considered. This work ...
متن کاملPartial Redundancy Elimination in SSA
The SSAPRE algorithm for performing partial redundancy elimination based entirely on SSA form is presented. The algorithm is formulated based on a new conceptual framework, the fac-tored redundancy graph, for analyzing redundancy, and represents the rst sparse approach to the classical problem of partial redundancy elimination. At the same time, it provides new perspectives on the problem and o...
متن کاملGlobal Invariants for Analyzing Multi-threaded Applications
We exhibit an interprocedural framework for the analysis of multi-threaded programs based on partial invariants of a new kind of constraint systems which we call side-effecting. We explore the formal properties of these constraint systems and provide general techniques for computing partial invariants. We demonstrate the practicality of this approach by designing and implementing a reasonably e...
متن کاملValue Flow Graph Analysis with SATIrE
This work discusses implementation of partial redundancy elimination using the value flow graph, a syntactic program representation modeling semantic equivalences. It allows the combination of simple syntactic partial redundancy elimination with a powerful semantic analysis. This yields an optimization that is computationally optimal and simpler than traditional semantic methods. A source-to-so...
متن کاملA Generic Graph Model for WCET Analysis of Multi-Core Concurrent Applications
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a mat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1111.0640 شماره
صفحات -
تاریخ انتشار 2011